地形影像数据是项目中最基础的底图数据,小范围的数据量有很多种处理方式,都可以快速生成瓦片,加载体验也不会很差。
然而随着项目的范围越来越大,用户对大规模地形影像的处理效率及加载性能都有比较高的要求。
因此,本文总结了一些地形影像数据处理的经验,供用户参考。
如果恰好在有效区域中存在无效的颜色值,则用另外一种方式剔除无效区域,右键点击镶嵌数据集,选择“重建范围”;可以导入有效区域的边界,或者自动计算镶嵌数据集的有效范围。
对投影坐标系的地图,设置动态投影转换,转换为对应的地理坐标系(并非所有的都转为 4326,China2000 的投影坐标系要设置动态转换为 China2000 的地理坐标系)
保存地图,多任务(可多机并行)生成全球剖分的地图瓦片。
层级选择:01.米影像分辨率生成最高层级 21 层;0.2 米 20 层;0.5 米 19 层;1 米 18 层;2 米 17 层;4 米 16 层,以此类推。
如果最终只是在三维场景中加载,那么可以只生成最高层的瓦片,用第五步转换为 sci3d 会自动生成金字塔层。
webp 有更高的压缩比,建议勾选。如果地图中有矢量数据(点、线、面),则必须勾选“矢量数据”选项,否则不用勾选。
为了提升地形影像的下载及加载效率,10.1 及后续版本提供了地形影像缓存的块存储的方式,该工具可以直接升级为块存储。
在 iDesktop10.1 版本中,同样提供将非块存储的地形、影像瓦片升级为块存储,同时也支持将地形影像瓦片保存到MongoDB,方便组织管理。
如果追求更高的加载性能和体验,建议生成块存储的瓦片。性能最高的是块大文件存储、其次是MongoDB。
同一分辨率的影像最好放在一个地图里生成,不同分辨率的影像分不同的地图生成。
如果是 10.1 之前的版本,仅用工具转换为 sci3d 即可(不要勾选块存储,10.1 之前版本不支持)。
在前端开启批量请求,也能体验 10.1 版本块存储的加载效果,块存储的数据不需要再加 packingRequest:1 这行代码。
var provider_img = new Cesium.SuperMapImageryProvider({ url : 'url', packingRequest:1//批量请求 });